package cn.yuanqiao.archive.bianjifabu.service;

import cn.yuanqiao.archive.bianjifabu.domain.Yqfabufangan;
import cn.yuanqiao.archive.bianjifabu.domain.YqfabufanganDa;
import cn.yuanqiao.archive.bianjifabu.domain.Yqfanganwater;
import com.alibaba.fastjson.JSONObject;

import java.io.File;
import java.util.List;
import java.util.Map;


/**
 * 发布方案Service接口
 *
 * @author yuanqiao
 * @date 2024-03-18
 */
public interface IYqfabufanganService
{
    /**
     * 查询发布方案
     *
     * @param ID 发布方案主键
     * @return 发布方案
     */
    public Yqfabufangan selectYqfabufanganByID(String ID);

    /**
     * 查询发布方案列表
     *
     * @param Yqfabufangan 发布方案
     * @return 发布方案集合
     */
    public List<Yqfabufangan> selectYqfabufanganList(Yqfabufangan Yqfabufangan);

    public List<YqfabufanganDa> selectDataOfFangan(String fanganId);

    List<Map<String,Object>> selectDaList(JSONObject jsonObject);

    List<Map<String,Object>> kfjdList(String subTableName);

    List<Map<String,Object>> showColumnsByCateID(String subTableName,String type);

    List<Map<String,Object>> getFileList(String fanganId,String subTableName);

    int addDaToFangan(JSONObject jsonObject);

    int addJianDingJobDa(JSONObject jsonObject);

    int addAllDaToFangan(JSONObject jsonObject);

    /**
     * 新增发布方案
     *
     * @param Yqfabufangan 发布方案
     * @return 结果
     */
    public int insertYqfabufangan(Yqfabufangan Yqfabufangan);

    /**
     * 修改发布方案
     *
     * @param Yqfabufangan 发布方案
     * @return 结果
     */
    public int updateYqfabufangan(Yqfabufangan Yqfabufangan);

    /**
     * 批量删除发布方案
     *
     * @param ID 需要删除的发布方案主键集合
     * @return 结果
     */
    public int deleteYqfabufanganByIDs(String ID,String fanganId);

    public int updateState(String fanganId,String state);

    public int submitBjfb(String fanganId);

    public File downLoadXml(JSONObject object);

    public void publishOnLine(JSONObject jsonObject);

    public int cancelPublish(String fanganId,String subTableName);

    /**
     * 删除发布方案信息
     *
     * @param ID 发布方案主键
     * @return 结果
     */
    public int deleteYqfabufanganByID(String ID);

    List<Yqfanganwater> selectYqfanganwaterList(String fanganId);

    public int insertYqfanganwater(Yqfanganwater Yqfanganwater);
}
